package com.beantools.file;

import java.io.File;
import java.io.IOException;

/**
 * 这是操作文件的类
 *
 * @author baoya
 * @version 1.1.0
 * @see AbstractFile
 * @since 1.0
 */

public interface MyFile {

    /**
     * 这是获取文件根路径的方法。因为Windows os和Linux os不同，
     * 需要对这两种操作系统的文件进行分别处理
     * <p>
     * 如果没有传递文件路径，就默认为项目的根路径
     *
     * @param filePath       文件的路径
     * @param fileName       文件名
     * @param isRelativePath 文件是否是绝对路径，
     *                       true表示相对路径，false表示绝对路径
     * @return 返回项目的文件的路径
     */
    String getRealPath(String filePath, boolean isRelativePath, String fileName);

    /**
     * 这是将程序中的内容输出到文件中。如果文件不存在，则在当前目录创建一个文件
     *
     * @param file 所要导出的文件
     * @return 输出成功时，会返回true，输出失败，返回false
     * @throws IOException 文件异常
     */
    boolean exportJson(File file) throws IOException;
}
